package com.js.rtu.fragment.second;

import android.os.Bundle;
import android.widget.EditText;

import com.js.rtu.R;
import com.js.rtu.base.BaseFragment;
import com.js.rtu.config.CmdConfig;
import com.js.rtu.util.BluetoothUtils;
import com.js.rtu.util.CmdUtils;
import com.js.rtu.util.ToastUtil;

import butterknife.BindView;
import butterknife.OnClick;


/**
 * 22_01设置终端工作参数
 * 终端报警间隔及次数
 * 2 byte，
 * 第 1 字节：持续报警状态下报警间隔，单位：秒，最长可设置到 255 秒间隔。
 * 0 代表发现报警时发送报警帧后不需要进入持续报警状态。 .出厂默认值为 0 秒。 休眠模式下间隔不小于 180 秒。
 * 第 2 字节：进入持续报警状态后，发送报警帧次数，达到设定值时，退出持续报警状态，进入正常工作状态
 * 。但报警状态信息不清除
 * Created by zwz on 2020/6/22.
 */
public class Cmd_22_06Fragment extends BaseFragment {



    @BindView(R.id.edt_input)
    EditText edtInput;
    @BindView(R.id.edt_input2)
    EditText edtInput2;



    public static Cmd_22_06Fragment newInstance() {
        Cmd_22_06Fragment fragment = new Cmd_22_06Fragment();
        Bundle bundle = new Bundle();
        fragment.setArguments(bundle);
        return fragment;
    }


    @Override
    protected int getLayoutId() {
        return R.layout.fragment_tab_second_cmd_22_06;
    }

    @Override
    protected void initView() {

    }





    private void set() {
        String data1 = edtInput.getText().toString();
        String data2 = edtInput2.getText().toString();
        if (data1.isEmpty()) {
            toastShow("请填写参数");
            return;
        }
        if (data2.isEmpty()) {
            toastShow("请填写参数,0-255");
            return;
        }



        int interval = Integer.parseInt(data2);

        if ((interval%5)!=0){
            toastShow("间隔为60的倍数");
            return;
        }
            if (interval > 0 && interval <= 255) {
            data1 = String.format("%02x", Integer.parseInt(data1));
            data2 = String.format("%02x", interval);
            String msg = CmdConfig.CMD_22_06 + " " + data2 + " " + data1;
            sendData(msg);
        } else {
            toastShow("间隔范围:0-255,大于0");
        }

    }

    private void sendData(String data) {
        String cmd = CmdUtils.getCmd(CmdConfig.CMD_22, data);
        BluetoothUtils.send(cmd, new BluetoothUtils.onCallback() {
            @Override
            public void onReceive(String msg) {
                dismissLoadingDialog();
                String[] data = msg.split(" ");
                if (data.length < 18) {
                    ToastUtil.info(msg);
                    return;
                }
                if (data[12].equals(CmdConfig.CMD_22)
                        && data[13].equals(CmdConfig.CMD_22_06)) {
                    if (data[14].equals(CmdConfig.SUCCECC)) {
                        ToastUtil.success("设置成功");
                    } else {
                        ToastUtil.error("设置失败");
                    }

                }


            }

            @Override
            public void onFail(String err) {
                toastShow(err);
                dismissLoadingDialog();
            }
        });
    }

    @OnClick(R.id.btn_set)
    public void onViewClicked() {
        set();
    }


}
